Multiprogramarea in sistemele cu divizarea timpului
In regimul de multiprogramare unitatii centrale de prelucrare i se cere sa execute mai multe programe, scrise de catre programatori diferiti si cu obiective diferite. Activitatile ce au loc in sistem pe durata executarii programelor pot fi grupate in doua categorii: activitati de prelucrare si activitati de I/O.
Pentru cresterea eficientei se poate considera o situatie in care executia programelor este intercalata. Imediat ce unitatea centrala ar trebui sa intre in repaus (intrucit programul in curs de executie intra in perioada de activitate I/O), aceasta este alocata executiei unui alt program, care nu se afla in faza I/O. Executia primului program este reluata cind si a terminat faza I/O si cind CPU tinde sa devina inactiva. Timpul de raspuns pentru un utilizator individual creste, dar cresterea este suficient de mica pentru a nu deranja in regim de multiprogramare. 

Functionarea multitasking in aplicatiile de timp real
Cu totul altfel se pune problema in sistemele functionind in timp real, in care unele din taskuri nu pot fi intirziate peste anumite limite. O alta diferenta fata de multiprogramare este data de faptul ca taskurile unui sistem in timp real sint coordonate in scopul indeplinirii unor conditii impuse. Diferentele mentionate permit, totusi, folosirea acelorasi mijloace de baza pentru executia intercalata a programelor.
Intercalarea apare ca naturala in sistemele functionind in timp real, deoarece insusi mecanismul de intreruperi ofera o metoda de alternare a executiei programului cu aceea a rutinei de tratare a intreruperilor. Se considera un sistem destinat citirii la intervale constante de timp a esantioanelor unui semnal obtinute cu ajutorul unui convertor analog numeric. La fiecare moment de esantionare rutina care trateaza intreruperea de la convertor (A) trebuie sa testeze incadrarea esantionului intre limite impuse; in caz afirmativ valoarea este memorata intrun tampon si, la acumularea in acesta a unui numar de 5 esantioane, controlul este transferat rutinei B. B efectueaza calculele necesare asupra acestor esantioane; cind un esantion nu se incadreaza in limitele specificate se activeaza o scurta rutina de alarmare (C), care nu blocheaza celelalte activitati. Executia rutinei B este intercalata cu executia celorlalte programe.

Mijloace de sprijin pentru multiprogramare.
Executia eficienta a mai multor programe pe acelasi sistem necesita disponibilitatea in cadrul acestuia a urmatoarelor mecanisme:
a)salvarea si restaurarea starii programelor pentru a permite intreruperea si reluarea corecta a executiei,cerute de executiile intercalate;
b)excluderea mutuala, care permite utilizatorilor sa foloseasca in comun o resursa, evitind problemele generate de posesia multipla a resursei;
c)sincronizarea, pentru a coordona activitatile taskurilor care interactioneaza;
d)activarea si dezactivarea taskurilor, permitind pornirea si oprirea unui anumit task.
